package com.kernel.streamDemo;

import java.io.*;
import java.nio.charset.StandardCharsets;

/****************************************
 * @name OutputStreamDemo01
 * @description 字节流学习
 * @author 黄彬恒
 * @since 2018/8/3
 ***************************************/
public class OutputStreamDemo01 {
    public static void main(String[] args) {
        /*第一步，使用File类找到一个文件*/
        File file = new File("D:" + File.separator + "ideaProgram" + File.separator +
                "IOLearning" + File.separator + "src" + File.separator + "main" + File.separator +
                "resources" + File.separator + "testDir" + File.separator + "2.txt");
        /*第二步，通过子类实例化父类对象*/
        OutputStream outputStream = null; // 准备好一个输出的对象
        try {
            outputStream = new FileOutputStream(file); // 利用对象多态性，进行实例化
            /*第三步，进行写操作*/
            String str = "哈哈哈"; // 准备好一个字符串
            byte[] bytes = str.getBytes(StandardCharsets.UTF_8); // 只能输出byte数组，所以把字符串转换为byte数组
            outputStream.write(bytes); // 将内容输出，保存文件
            /*第四步，关闭输出流*/
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (outputStream != null) {
                try {
                    outputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
